package cn.com.jinhao.provider.user.service;

import cn.com.jinhao.hotline.commons.vo.user.LoginRequestVo;
import cn.com.jinhao.provider.user.entity.User;

/**
 * hotline-spring-cloud
 * <p>Description: </p>
 *
 * @author ShaneMew
 * @version 1.0
 * @date 2019/12/17
 * @since 2019-12-17
 */

public interface UserService {
    /**
     * 通过登录名查找用户
     *
     * @param userCode 用户名
     * @return 用户实体
     */
    User queryByCode(String userCode) throws Exception;

    /**
     * 新增用户
     *
     * @param user 用户信息  {@link User}
     * @return 新增用户成功与否
     */
    boolean add(User user) throws Exception;

    /**
     * 更新用户
     *
     * @param user 用户信息   {@link User}
     * @return boolean
     */
    boolean update(User user) throws Exception;

    /**
     * 删除用户
     *
     * @param code 用户编码
     * @return boolean
     */
    boolean delete(String code) throws Exception;

    /**
     * 登录
     *
     * @param loginRequestVo 登录参数类{@link LoginRequestVo}
     * @return boolean
     */
    User login(LoginRequestVo loginRequestVo) throws Exception;

    /**
     * 通过用户编码查询用户名称
     *
     * @param code 用户编码
     * @return String  用户名称
     */
    String getNameByCode(String code) throws Exception;
}
